Crate rayon_cond

source ·
Expand description

Experimental iterator wrapper that is conditionally parallel or serial, using Rayon’s ParallelIterator or the standard Iterator respectively.

Usage

First add this crate to your Cargo.toml:

[dependencies]
rayon-cond = "0.3"

Then in your code, it may be used something like this:

use rayon_cond::CondIterator;

let args: Vec<_> = std::env::args().collect();

// Run in parallel if there are an even number of args
let par = args.len() % 2 == 0;

CondIterator::new(args, par).enumerate().for_each(|(i, arg)| {
    println!("arg {}: {:?}", i, arg);
});

Enums

  • An iterator that could be parallel or serial, with a common API either way.

Traits